﻿#ifndef _COUPLER_H
#define _COUPLER_H

#ifdef _MSC_VER
#pragma comment(lib, "coupler/coupler.lib")  // -Lcoupler -lcoupler
// #ifdef _MSC_VER
#endif

#include <Windows.h>

#ifdef __cplusplus
extern "C" {
// #ifdef __cplusplus
#endif

#define _COUPLER_DECLSPEC_IMPORT __declspec(dllimport)

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_Initialize(int session, LPCSTR jsonStr);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendTextMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR msg);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendTextMsgByByteHex(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR byteHex);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendGroupMsgAndAt(int authCode, LPCSTR robotWxid, LPCSTR groupWxid, LPCSTR memberWxid, LPCSTR memberName, LPCSTR msg);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendCardMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR cardData);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendImageMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR path);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendFileMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR path);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendEmojiMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR path);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendVideoMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR path);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendLinkMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR title, LPCSTR text, LPCSTR targetUrl, LPCSTR picUrl, LPCSTR iconUrl);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SendMusicMsg(int authCode, LPCSTR robotWxid, LPCSTR toWxid, LPCSTR name, int type);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetRobotName(int authCode, LPCSTR robotWxid);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetRobotHeadimgurl(int authCode, LPCSTR robotWxid);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetLoggedAccountList(int authCode);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetFriendList(int authCode, LPCSTR robotWxid, BOOL isRefresh);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetGroupList(int authCode, LPCSTR robotWxid, BOOL isRefresh);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetGroupMemberList(int authCode, LPCSTR robotWxid, LPCSTR groupWxid, BOOL isRefresh);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetGroupMemberDetailInfo(int authCode, LPCSTR robotWxid, LPCSTR groupWxid, LPCSTR memberWxid, BOOL isRefresh);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_ReloadPlug(int authCode);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_DeleteFriend(int authCode, LPCSTR robotWxid, LPCSTR friendWxid);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_ModifyFriendNote(int authCode, LPCSTR robotWxid, LPCSTR friendWxid, LPCSTR note);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_BuildingGroup(int authCode, LPCSTR robotWxid, LPCSTR friends);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_ModifyGroupName(int authCode, LPCSTR robotWxid, LPCSTR groupWxid, LPCSTR groupName);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_ModifyGroupNotice(int authCode, LPCSTR robotWxid, LPCSTR groupWxid, LPCSTR content);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_QuitGroup(int authCode, LPCSTR robotWxid, LPCSTR groupWxid);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_RemoveGroupMember(int authCode, LPCSTR robotWxid, LPCSTR groupWxid, LPCSTR memberWxid);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_InviteInGroup(int authCode, LPCSTR robotWxid, LPCSTR groupWxid, LPCSTR friendWxid);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_AcceptTransfer(int authCode, LPCSTR robotWxid, LPCSTR fromWxid, LPCSTR jsonMsg);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_AgreeFriendVerify(int authCode, LPCSTR robotWxid, LPCSTR jsonMsg);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_AgreeGroupInvite(int authCode, LPCSTR robotWxid, LPCSTR jsonMsg);

_COUPLER_DECLSPEC_IMPORT LPCSTR APIENTRY Api_GetAppDirectory(int authCode);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_AppendLogs(int authCode, LPCSTR msg);

_COUPLER_DECLSPEC_IMPORT int APIENTRY Api_SetFatal(int authCode);

#ifdef __cplusplus
}
// #ifdef __cplusplus
#endif

// #ifndef _COUPLER_H
#endif
